Chris Pollett > Old Classes >
CS158a

( Print View )

Student Corner:
  [Grades Sec1]

  [Submit Sec1]

  [Class Sign Up Sec1]

  [
Lecture Notes]
  [Discussion Board]

Course Info:
  [Texts & Links]
  [Topics/Outcomes]
  [Outcomes Matrix]
  [Grading]
  [HW/Quiz Info]
  [Exam Info]
  [Regrades]
  [Honesty]
  [Additional Policies]
  [Announcements]

HW Assignments:
  [Hw1]  [Hw2]  [Hw3]
  [Hw4]  [Hw5]  [Quizzes]

Practice Exams:
  [Mid]  [Final]

                           












HW#4 --- last modified February 17 2019 19:25:37..

Solution set.

Due date: Apr 27

Files to be submitted:
  Hw4.zip

Purpose: To get familiar with IPv4 and v6. To do more network simulations and to experiment with Wireshark.

Related Course Outcomes:

The main course outcomes covered by this assignment are:

LO6 -- Understand network protocols, RIP and OSPF, and the details of IPv4.

LO7 -- Develop a software simulator simulating RIP, OSPF, forwarding and subnetting in IPv4.

LO9 -- Use networking tools including telnet, ping, traceroute, bing, and Wireshark to evaluate simple network characteristics.

Specification: To begin with this assignment I want you to do the following book problems and submit them in a file Hw4.pdf within you Hw4.zip file: Ch 4: 20, 25, 30, 32, 40, 63.

For the simulator part of the homework, I want you to first write a short program to handle subnet forwarding, Subnet.java. This program reads in a file with lines like:

Subnet Address, Mask, Port

For example,

12.128.0.0, 255.128.0.0, 1
15.0.0.0, 255.0.0.0, 2

In the above whitespace is ignored, except that newline is used to indicated the end of a line. Your program will be run from the command line with a command like:

java Subnet filename

After reading in the file, your program will prompt the user:

Please enter an IP address to forward:

After entering an address your program should print the port to forward out on or "default" if there is no match. After printing your program should end. This problem was assigned in prior years. It is not particularly hard. Do not consult prior year's HW solutions in making yours. If your homework looks like prior year's HWs (I keep all prior year's submissions) you will not receive credit, and you will be referred to Academic Affairs.

For the experiment part of the homework, I would like you to download and run Wireshark. I want you to get Wireshark to start capturing packets. I then want you to open a web browser (make sure you are capturing on the correct interface!) and go to your favorite web mail program. Look at the capture and take screenshots (compress the images!) of the relevant frames, IP packets, etc for the initial download request of the web mail page. Do the same thing for the actual receiving of data. Point out sequence numbers and ACKs. Finally, do the same thing for connection teardown. Try to determine if your web mail program continues to communicate with the server after the initially returned mail page. Try to figure our as much as possible about the data that is being sent to the server if it is using AJAX to send info. Have a file OurWiresharkExperiments.pdf with these images in it and with a write-up of what's going on.

Point Breakdown

Book problems (1pt each, 0 - wrong, .5 partially correct, 1 correct) 6pts
Forwarding.java 2pts
Wireshark Experiments (1pt experiment, 1pt write-up) 2pts
Total10pts